home *** CD-ROM | disk | FTP | other *** search
-
-
-
- SSSSGGGGBBBBCCCCOOOO((((3333FFFF)))) SSSSGGGGBBBBCCCCOOOO((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- SGBCO - SBGCO factors a real band matrix by Gaussian elimination and
- estimates the condition of the matrix.
-
- If RCOND is not needed, SGBFA is slightly faster. To solve A*X = B ,
- follow SBGCO by SGBSL. To compute INVERSE(A)*C , follow SBGCO by SGBSL.
- To compute DETERMINANT(A) , follow SBGCO by SGBDI.
-
-
- SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
- SUBROUTINE SGBCO(ABD,LDA,N,ML,MU,IPVT,RCOND,Z)
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- On Entry
-
- AAAABBBBDDDD REAL(LDA, N)
- contains the matrix in band storage. The columns
- of the matrix are stored in the columns of ABD and
- the diagonals of the matrix are stored in rows
- ML+1 through 2*ML+MU+1 of ABD .
- See the comments below for details.
-
- LLLLDDDDAAAA INTEGER
- the leading dimension of the array ABD .
- LDA must be .GE. 2*ML + MU + 1 .
-
- NNNN INTEGER
- the order of the original matrix.
-
- MMMMLLLL INTEGER
- number of diagonals below the main diagonal.
- 0 .LE. ML .LT. N .
-
- MMMMUUUU INTEGER
- number of diagonals above the main diagonal.
- 0 .LE. MU .LT. N .
- More efficient if ML .LE. MU . On Return
-
- AAAABBBBDDDD an upper triangular matrix in band storage and
- the multipliers which were used to obtain it.
- The factorization can be written A = L*U where
- L is a product of permutation and unit lower
- triangular matrices and U is upper triangular.
-
- IIIIPPPPVVVVTTTT INTEGER(N)
- an integer vector of pivot indices.
-
- RRRRCCCCOOOONNNNDDDD REAL
- an estimate of the reciprocal condition of A .
- For the system A*X = B , relative perturbations
- in A and B of size EPSILON may cause
- relative perturbations in X of size EPSILON/RCOND .
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- SSSSGGGGBBBBCCCCOOOO((((3333FFFF)))) SSSSGGGGBBBBCCCCOOOO((((3333FFFF))))
-
-
-
- If RCOND is so small that the logical expression
- 1.0 + RCOND .EQ. 1.0
- is true, then A may be singular to working
- precision. In particular, RCOND is zero if
- exact singularity is detected or the estimate
- underflows.
-
- ZZZZ REAL(N)
- a work vector whose contents are usually unimportant.
- If A is close to a singular matrix, then Z is
- an approximate null vector in the sense that
- NORM(A*Z) = RCOND*NORM(A)*NORM(Z) . Band Storage
- If A is a band matrix, the following program segment
- will set up the input.
- ML = (band width below the diagonal)
- MU = (band width above the diagonal)
- M = ML + MU + 1
- DO 20 J = 1, N
- I1 = MAX0(1, J-MU)
- I2 = MIN0(N, J+ML)
- DO 10 I = I1, I2
- K = I - J + M
- ABD(K,J) = A(I,J)
- 10 CONTINUE
- 20 CONTINUE
- This uses rows ML+1 through 2*ML+MU+1 of ABD .
- In addition, the first ML rows in ABD are used for
- elements generated during the triangularization.
- The total number of rows needed in ABD is 2*ML+MU+1 .
- The ML+MU by ML+MU upper left triangle and the
- ML by ML lower right triangle are not referenced. Example: If the
- original matrix is
- 11 12 13 0 0 0
- 21 22 23 24 0 0
- 0 32 33 34 35 0
- 0 0 43 44 45 46
- 0 0 0 54 55 56
- 0 0 0 0 65 66 then N = 6, ML = 1, MU = 2, LDA .GE. 5 and ABD
- should contain
- * * * + + + , * = not used
- * * 13 24 35 46 , + = used for pivoting
- * 12 23 34 45 56
- 11 22 33 44 55 66
- 21 32 43 54 65 * LINPACK. This version dated 08/14/78 . Cleve
- Moler, University of New Mexico, Argonne National Lab. Subroutines and
- Functions LINPACK SGBFA BLAS SAXPY,SDOT,SSCAL,SASUM Fortran
- ABS,AMAX1,MAX0,MIN0,SIGN
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-